package exception.runtimeexception;

/**
 * 使用try...catch语句执行异常处理
 * ArithmeticException
 */
public class ExceptionDemo01 {

    public static void main(String[] args) {

        //定义两个变量
        int a = 23;
        int b = 0;

        try {
            //再控制台输出a/b
            System.out.println(a / b);

        }catch (ArithmeticException e){
            /**
             * catch中尽量不要写空,因为对使用者来讲,并不知道程序到底有没有出现问题
             * 写空反而是把问题隐藏了,
             * 一般把这个异常的错误信息打印到控制台上
             */


        }
        /**
         * 程序从try语句开始执行
         * 此时被try所包裹的代码出现异常,此时jvm会针对这个异常生成一个异常对象,
         * 然后寻找catch语句中所定义的异常,如果发现某一个语句中的异常类型和发生异常类型的对象类型是相同的,
         * 此时就会执行catch语句中的语句体,执行完成后,程序不会结束而是继续向下运行
         */



        //输出
        System.out.println("程序结束");
    }
}
